// // 基础泛型函数：保持输入输出类型一致
// function identity<T>(arg: T): T {
//     if (arg) {
//         return arg;
//     }
//     // 如果需要返回默认值，应该明确指定默认值的类型
//     // 例如，返回一个默认的 number 数组
// }
//
// // 显式指定类型
// const str = identity<string>("hello");
//
// // 类型推断为 number
// const num = identity(42);
//
// // 类型推断为 boolean
// const bool = identity(false);
//
// console.log(str, num);
function pickObjectKeys(obj, keys) {
    var result = {};
    for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {
        var key = keys_1[_i];
        if (key in obj) {
            result[key] = obj[key];
        }
    }
    return result;
}
var language = {
    name: "TypeScript",
    age: 8,
    extensions: ['ts', 'tsx']
};
var ageAndExtensions = pickObjectKeys(language, ['age', 'extensions']);
console.log(ageAndExtensions, 'ageAndExtensions');
